package com.xinqi.modules.sys.gpt.service;

import com.xinqi.common.base.response.PageInfo;
import com.xinqi.common.base.response.Param;
import com.xinqi.modules.sys.gpt.dto.req.ShareQuotaCreateDTO;
import com.xinqi.modules.sys.gpt.dto.req.ShareQuotaQueryDTO;
import com.xinqi.modules.sys.gpt.dto.req.ShareQuotaUpdateDTO;
import com.xinqi.modules.sys.gpt.dto.rsp.ShareQuotaResultDTO;

import java.util.List;

/**
 * 邀请规则表服务层
 *
 * @author: yyzhen
 * @date: 2023/05/23
 */
public interface ShareQuotaService {
    /**
     * 分页查询 邀请规则表数据
     *
     * @param pageable
     * @param query
     * @return
     */
    PageInfo<ShareQuotaResultDTO> page(Param pageable, ShareQuotaQueryDTO query);

    /**
     * 查询 邀请规则表数据
     *
     * @param userId
     * @return
     */
    List<ShareQuotaResultDTO> list(Long userId);

    /**
     * 根据id查询 邀请规则表数据
     *
     * @param id
     * @return
     */
    ShareQuotaResultDTO findById(Long id);

    /**
     * 新增 邀请规则表数据
     *
     * @param dto
     * @return
     */
    Long insert(ShareQuotaCreateDTO dto);

    /**
     * 根据id修改 邀请规则表数据
     *
     * @param dto
     * @return
     */
    Boolean updateById(ShareQuotaUpdateDTO dto);

    /**
     * 根据id删除 邀请规则表数据
     *
     * @param id
     * @return
     */
    Boolean deleteById(Long id);

}
